<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by EDGARfilings PROfile 5.1.0.0 Broadridge-->
<xbrl 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:invest="http://xbrl.sec.gov/invest/2013-01-31" xmlns:us-gaap="http://fasb.org/us-gaap/2018-01-31" xmlns:dei="http://xbrl.sec.gov/dei/2018-01-31" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:country="http://xbrl.sec.gov/country/2017-01-31" xmlns:currency="http://xbrl.sec.gov/currency/2017-01-31" xmlns:naics="http://xbrl.sec.gov/naics/2017-01-31" xmlns:sic="http://xbrl.sec.gov/sic/2011-01-31" xmlns:stpr="http://xbrl.sec.gov/stpr/2018-01-31" xmlns:exch="http://xbrl.sec.gov/exch/2018-01-31" xmlns:srt="http://fasb.org/srt/2018-01-31" xmlns:tact="http://transact-tech.com/20190331" xmlns="http://www.xbrl.org/2003/instance">
  <link:schemaRef xlink:type="simple" xlink:href="tact-20190331.xsd" />
  <xbrli:context id="c20190101to20190331">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190430">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-04-30</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190331">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-03-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20180331">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20171231">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180331">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-03-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_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>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20171231_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>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20171231_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>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_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>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_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>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_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>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20171231_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>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20171231_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>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_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>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20171231_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>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_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>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20180331_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>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_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>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20180331_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>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20180331_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>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_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>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_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>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20180331_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>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180331_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>2018-03-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190331_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-03-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180331_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>2018-03-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190331_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-03-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190331_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-03-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180331_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>2018-03-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190331_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-03-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180331_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>2018-03-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_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>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_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>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_US">
    <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">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_InternationalMember">
    <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">tact:InternationalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_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>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_ProductOrServiceAxis_RestaurantSolutionsMember_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:RestaurantSolutionsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_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>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_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>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_ProductOrServiceAxis_RestaurantSolutionsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:RestaurantSolutionsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_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>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_ProductOrServiceAxis_LotteryMember_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:LotteryMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_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>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_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>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_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>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_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>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_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>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_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>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_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>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_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>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_ProductOrServiceAxis_RestaurantSolutionsMember_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:RestaurantSolutionsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_Two0200401Member">
    <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>2020-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
        </xbrldi:typedMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-03-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_Two0190401Member">
    <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>2019-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
        </xbrldi:typedMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-03-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_Two0210401Member">
    <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>2021-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
        </xbrldi:typedMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-03-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_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>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20180331_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>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_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>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_AdjustmentsForNewAccountingPronouncementsAxis_AccountingStandardsUpdate201602Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201602Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331_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:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:unit id="U001">
    <xbrli:measure>xbrli:shares</xbrli:measure>
  </xbrli:unit>
  <xbrli:unit id="U002">
    <xbrli:measure>iso4217:USD</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>xbrli:pure</xbrli:measure>
  </xbrli:unit>
  <!--Amendment Flag-->
  <dei:AmendmentFlag contextRef="c20190101to20190331">false</dei:AmendmentFlag>
  <!--Current Fiscal Year End Date-->
  <dei:CurrentFiscalYearEndDate contextRef="c20190101to20190331">--12-31</dei:CurrentFiscalYearEndDate>
  <!--Document Period End Date-->
  <dei:DocumentPeriodEndDate contextRef="c20190101to20190331">2019-03-31</dei:DocumentPeriodEndDate>
  <!--Entity Filer Category-->
  <dei:EntityFilerCategory contextRef="c20190101to20190331">Accelerated Filer</dei:EntityFilerCategory>
  <!--Entity Registrant Name-->
  <dei:EntityRegistrantName contextRef="c20190101to20190331">TRANSACT TECHNOLOGIES INC</dei:EntityRegistrantName>
  <!--Entity Central Index Key-->
  <dei:EntityCentralIndexKey contextRef="c20190101to20190331">0001017303</dei:EntityCentralIndexKey>
  <!--Entity Common Stock, Shares Outstanding-->
  <dei:EntityCommonStockSharesOutstanding contextRef="c20190430" unitRef="U001" decimals="INF">7457160</dei:EntityCommonStockSharesOutstanding>
  <!--Document Fiscal Year Focus-->
  <dei:DocumentFiscalYearFocus contextRef="c20190101to20190331">2019</dei:DocumentFiscalYearFocus>
  <!--Document Fiscal Period Focus-->
  <dei:DocumentFiscalPeriodFocus contextRef="c20190101to20190331">Q1</dei:DocumentFiscalPeriodFocus>
  <!--Document Type-->
  <dei:DocumentType contextRef="c20190101to20190331">10-Q</dei:DocumentType>
  <!--Entity Emerging Growth Company-->
  <dei:EntityEmergingGrowthCompany contextRef="c20190101to20190331">false</dei:EntityEmergingGrowthCompany>
  <!--Entity Ex Transition Period-->
  <dei:EntityExTransitionPeriod contextRef="c20190101to20190331">false</dei:EntityExTransitionPeriod>
  <!--Entity Small Business-->
  <dei:EntitySmallBusiness contextRef="c20190101to20190331">true</dei:EntitySmallBusiness>
  <!--Accounts payable-->
  <us-gaap:AccountsPayableCurrent contextRef="c20190331" unitRef="U002" decimals="-3">2267000</us-gaap:AccountsPayableCurrent>
  <!--Accounts payable-->
  <us-gaap:AccountsPayableCurrent contextRef="c20181231" unitRef="U002" decimals="-3">3483000</us-gaap:AccountsPayableCurrent>
  <!--Accrued liabilities-->
  <us-gaap:AccruedLiabilitiesCurrent contextRef="c20190331" unitRef="U002" decimals="-3">2002000</us-gaap:AccruedLiabilitiesCurrent>
  <!--Accrued liabilities-->
  <us-gaap:AccruedLiabilitiesCurrent contextRef="c20181231" unitRef="U002" decimals="-3">2765000</us-gaap:AccruedLiabilitiesCurrent>
  <!--Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment-->
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="c20190331" unitRef="U002" decimals="-3">20660000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <!--Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment-->
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="c20181231" unitRef="U002" decimals="-3">20518000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <!--Accumulated other comprehensive loss, net of tax-->
  <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c20190331" unitRef="U002" decimals="-3">-73000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
  <!--Accumulated other comprehensive loss, net of tax-->
  <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c20181231" unitRef="U002" decimals="-3">-82000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
  <!--Additional paid-in capital-->
  <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="c20190331" unitRef="U002" decimals="-3">32103000</us-gaap:AdditionalPaidInCapitalCommonStock>
  <!--Additional paid-in capital-->
  <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="c20181231" unitRef="U002" decimals="-3">32129000</us-gaap:AdditionalPaidInCapitalCommonStock>
  <!--Relinquishment of stock options and deferred stock units to pay withholding taxes-Additional Paid-in Capital [Member]-->
  <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet contextRef="c20180101to20180331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3">-246000</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
  <!--Relinquishment of stock options and deferred stock units to pay withholding taxes-Additional Paid-in Capital [Member]-->
  <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet contextRef="c20190101to20190331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3">-199000</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
  <!--Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition-Additional Paid-in Capital [Member]-->
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c20190101to20190331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3">173000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <!--Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition-Additional Paid-in Capital [Member]-->
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c20180101to20180331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3">161000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <!--Anti-dilutive securities excluded from computation of earnings per dilutive share (in shares)-Stock Compensation Plan [Member]-->
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c20180101to20180331_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember" unitRef="U001" decimals="-3">147000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <!--Anti-dilutive securities excluded from computation of earnings per dilutive share (in shares)-Stock Compensation Plan [Member]-->
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c20190101to20190331_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember" unitRef="U001" decimals="-3">540000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <!--Assets-->
  <us-gaap:Assets contextRef="c20190331" unitRef="U002" decimals="-3">36474000</us-gaap:Assets>
  <!--Assets-->
  <us-gaap:Assets contextRef="c20181231" unitRef="U002" decimals="-3">34956000</us-gaap:Assets>
  <!--Assets, Current-->
  <us-gaap:AssetsCurrent contextRef="c20190331" unitRef="U002" decimals="-3">24945000</us-gaap:AssetsCurrent>
  <!--Assets, Current-->
  <us-gaap:AssetsCurrent contextRef="c20181231" unitRef="U002" decimals="-3">27037000</us-gaap:AssetsCurrent>
  <!--Assets, Noncurrent-->
  <us-gaap:AssetsNoncurrent contextRef="c20181231" unitRef="U002" decimals="-3">7919000</us-gaap:AssetsNoncurrent>
  <!--Assets, Noncurrent-->
  <us-gaap:AssetsNoncurrent contextRef="c20190331" unitRef="U002" decimals="-3">11529000</us-gaap:AssetsNoncurrent>
  <!--Basis of Accounting, Policy [Policy Text Block]-->
  <us-gaap:BasisOfAccountingPolicyPolicyTextBlock contextRef="c20190101to20190331">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 9pt;"&gt;&lt;div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The accompanying unaudited financial statements of TransAct Technologies Incorporated (&amp;#8220;TransAct&amp;#8221;, the &amp;#8220;Company&amp;#8221;, &amp;#8220;we&amp;#8221;, &amp;#8220;us&amp;#8221;, or &amp;#8220;our&amp;#8221;) have been prepared in accordance with accounting principles generally accepted in the United States of America (&amp;#8220;U.S. GAAP&amp;#8221;) for interim financial information.&amp;#160;&amp;#160;Accordingly, they do not include all of the information and footnotes required by U.S. GAAP to be included in full year financial statements.&amp;#160;&amp;#160;In the opinion of management, all adjustments considered necessary for a fair statement of the results for the periods presented have been included and are of a normal recurring nature.&amp;#160;&amp;#160;The December 31, 2018 Condensed Consolidated Balance Sheet data was derived from audited financial statements, but does not include all disclosures required by U.S. GAAP.&amp;#160;&amp;#160;These interim financial statements should be read in conjunction with the audited financial statements for the year ended December 31, 2018 included in our Annual Report on Form 10-K.&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
  <!--Business Description and Basis of Presentation [Text Block]-->
  <us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock contextRef="c20190101to20190331">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 9pt;"&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;1. Basis of presentation&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&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;The accompanying unaudited financial statements of TransAct Technologies Incorporated (&amp;#8220;TransAct&amp;#8221;, the &amp;#8220;Company&amp;#8221;, &amp;#8220;we&amp;#8221;, &amp;#8220;us&amp;#8221;, or &amp;#8220;our&amp;#8221;) have been prepared in accordance with accounting principles generally accepted in the United States of America (&amp;#8220;U.S. GAAP&amp;#8221;) for interim financial information.&amp;#160;&amp;#160;Accordingly, they do not include all of the information and footnotes required by U.S. GAAP to be included in full year financial statements.&amp;#160;&amp;#160;In the opinion of management, all adjustments considered necessary for a fair statement of the results for the periods presented have been included and are of a normal recurring nature.&amp;#160;&amp;#160;The December 31, 2018 Condensed Consolidated Balance Sheet data was derived from audited financial statements, but does not include all disclosures required by U.S. GAAP.&amp;#160;&amp;#160;These interim financial statements should be read in conjunction with the audited financial statements for the year ended December 31, 2018 included in our Annual Report on Form 10-K.&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&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;The financial position and results of operations of our U.K. subsidiary are measured using local currency as the functional currency.&amp;#160;&amp;#160;Assets and liabilities of such subsidiary have been translated at the end of period exchange rates, and related revenues and expenses have been translated at the exchange rate as of the date the transaction was recognized, with the resulting translation gain or loss recorded in &amp;#8220;Accumulated other comprehensive loss, net of tax&amp;#8221;, in the Condensed Consolidated Balance Sheets and Condensed Consolidated Statements of Changes in Shareholders&amp;#8217; Equity.&amp;#160;&amp;#160;Transaction gains and losses are included in &amp;#8220;Other, net&amp;#8221; in the Condensed Consolidated Statements of Income.&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&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;The results of operations for the three months ended March 31, 2019 are not necessarily indicative of the results to be expected for the full year.&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock>
  <!--Capital expenditures included in accounts payable-->
  <us-gaap:CapitalExpendituresIncurredButNotYetPaid contextRef="c20180101to20180331" unitRef="U002" decimals="-3">122000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
  <!--Capital expenditures included in accounts payable-->
  <us-gaap:CapitalExpendituresIncurredButNotYetPaid contextRef="c20190101to20190331" unitRef="U002" decimals="-3">59000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
  <!--Cash and cash equivalents-->
  <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c20181231" unitRef="U002" decimals="-3">4691000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
  <!--Cash and cash equivalents-->
  <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c20190331" unitRef="U002" decimals="-3">1944000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
  <!--Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents-->
  <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c20171231" unitRef="U002" decimals="-3">5507000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
  <!--Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents-->
  <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c20181231" unitRef="U002" decimals="-3">4691000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
  <!--Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents-->
  <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c20180331" unitRef="U002" decimals="-3">4669000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
  <!--Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents-->
  <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c20190331" unitRef="U002" decimals="-3">1944000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
  <!--Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect-->
  <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c20180101to20180331" unitRef="U002" decimals="-3">-838000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
  <!--Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect-->
  <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c20190101to20190331" unitRef="U002" decimals="-3">-2747000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
  <!--Common stock, shares authorized (in shares)-->
  <us-gaap:CommonStockSharesAuthorized contextRef="c20181231" unitRef="U001" decimals="INF">20000000</us-gaap:CommonStockSharesAuthorized>
  <!--Common stock, shares authorized (in shares)-->
  <us-gaap:CommonStockSharesAuthorized contextRef="c20190331" unitRef="U001" decimals="INF">20000000</us-gaap:CommonStockSharesAuthorized>
  <!--Common stock, par value (in dollars per share)-->
  <us-gaap:CommonStockParOrStatedValuePerShare contextRef="c20190331" unitRef="U003" decimals="INF">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
  <!--Common stock, par value (in dollars per share)-->
  <us-gaap:CommonStockParOrStatedValuePerShare contextRef="c20181231" unitRef="U003" decimals="INF">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
  <!--Dividends declared and paid per common share (in dollars per share)-->
  <us-gaap:CommonStockDividendsPerShareCashPaid contextRef="c20180101to20180331" unitRef="U003" decimals="INF">0.09</us-gaap:CommonStockDividendsPerShareCashPaid>
  <!--Dividends declared and paid per common share (in dollars per share)-->
  <us-gaap:CommonStockDividendsPerShareCashPaid contextRef="c20190101to20190331" unitRef="U003" decimals="2">0.09</us-gaap:CommonStockDividendsPerShareCashPaid>
  <!--Dividends declared and paid per common share (in dollars per share)-->
  <!--Dividends declared and paid per common share (in dollars per share)-->
  <!--Common stock, shares issued (in shares)-->
  <us-gaap:CommonStockSharesIssued contextRef="c20181231" unitRef="U001" decimals="INF">11463141</us-gaap:CommonStockSharesIssued>
  <!--Common stock, shares issued (in shares)-->
  <us-gaap:CommonStockSharesIssued contextRef="c20190331" unitRef="U001" decimals="INF">11500502</us-gaap:CommonStockSharesIssued>
  <!--Common stock, shares outstanding (in shares)-->
  <us-gaap:CommonStockSharesOutstanding contextRef="c20181231" unitRef="U001" decimals="INF">7418299</us-gaap:CommonStockSharesOutstanding>
  <!--Common stock, shares outstanding (in shares)-->
  <us-gaap:CommonStockSharesOutstanding contextRef="c20190331" unitRef="U001" decimals="INF">7455660</us-gaap:CommonStockSharesOutstanding>
  <!--Common stock, $0.01 par value, 20,000,000 shares authorized; 11,500,502 and 11,463,141 shares issued, respectively; 7,455,660 and 7,418,299 shares outstanding, respectively-->
  <us-gaap:CommonStockValue contextRef="c20190331" unitRef="U002" decimals="-3">115000</us-gaap:CommonStockValue>
  <!--Common stock, $0.01 par value, 20,000,000 shares authorized; 11,500,502 and 11,463,141 shares issued, respectively; 7,455,660 and 7,418,299 shares outstanding, respectively-->
  <us-gaap:CommonStockValue contextRef="c20181231" unitRef="U002" decimals="-3">115000</us-gaap:CommonStockValue>
  <!--Comprehensive Income (Loss), Net of Tax, Attributable to Parent-->
  <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c20190101to20190331" unitRef="U002" decimals="-3">755000</us-gaap:ComprehensiveIncomeNetOfTax>
  <!--Comprehensive Income (Loss), Net of Tax, Attributable to Parent-->
  <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c20180101to20180331" unitRef="U002" decimals="-3">679000</us-gaap:ComprehensiveIncomeNetOfTax>
  <!--Contract with Customer, Liability, Revenue Recognized-->
  <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="c20190101to20190331" unitRef="U002" decimals="-3">150000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
  <!--Deferred revenue, net of current portion-->
  <us-gaap:ContractWithCustomerLiabilityNoncurrent contextRef="c20181231" unitRef="U002" decimals="-3">265000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
  <!--Deferred revenue, net of current portion-->
  <us-gaap:ContractWithCustomerLiabilityNoncurrent contextRef="c20190331" unitRef="U002" decimals="-3">240000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
  <!--Contract with Customer, Liability-->
  <us-gaap:ContractWithCustomerLiability contextRef="c20190331" unitRef="U002" decimals="-3">701000</us-gaap:ContractWithCustomerLiability>
  <!--Contract with Customer, Liability-->
  <us-gaap:ContractWithCustomerLiability contextRef="c20181231" unitRef="U002" decimals="-3">699000</us-gaap:ContractWithCustomerLiability>
  <!--Deferred revenue-->
  <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c20181231" unitRef="U002" decimals="-3">384000</us-gaap:ContractWithCustomerLiabilityCurrent>
  <!--Deferred revenue-->
  <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c20190331" unitRef="U002" decimals="-3">402000</us-gaap:ContractWithCustomerLiabilityCurrent>
  <!--Contract with Customer, Asset and Liability [Table Text Block]-->
  <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock contextRef="c20190101to20190331">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 9pt;"&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;Contract balances&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Our contract liabilities consist of customer pre-payments and deferred revenue.&amp;#160; Customer prepayments are reported as &amp;#8220;Accrued Liabilities&amp;#8221; in current liabilities in the Condensed Consolidated Balance Sheets.&amp;#160; Customer prepayments represent customer payments made in advance of performance obligations in instances where credit has not been extended and are recognized as revenue when the performance obligation is complete.&amp;#160; Deferred revenue is reported separately in current liabilities and non-current liabilities and consists of our extended warranty contracts, technical support for our restaurant solution terminals, EPICENTRAL&amp;#8482; maintenance contracts and testing service contracts, and is recognized as revenue as (or when) we perform under the contract.&amp;#160; We do not have any contract asset balances as of March 31, 2019 or December 31, 2018.&amp;#160; For the first three months of 2019, we recognized revenue of $150 thousand related to our contract liabilities at December 31, 2018.&amp;#160; Total contract liabilities consist of the following:&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;March 31,&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;2019&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;December 31,&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;(In thousands)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Customer pre-payments&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;59&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;50&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Deferred revenue, current&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;402&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;384&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Deferred revenue, non-current&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;240&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;265&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Total contract liabilities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;701&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;699&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
  <!--Cost of sales-->
  <us-gaap:CostOfRevenue contextRef="c20180101to20180331" unitRef="U002" decimals="-3">6381000</us-gaap:CostOfRevenue>
  <!--Cost of sales-->
  <us-gaap:CostOfRevenue contextRef="c20190101to20190331" unitRef="U002" decimals="-3">5464000</us-gaap:CostOfRevenue>
  <!--Disaggregation of Revenue [Table Text Block]-->
  <us-gaap:DisaggregationOfRevenueTableTextBlock contextRef="c20190101to20190331">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 9pt;"&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;Disaggregation of revenue&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&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.&amp;#160; Sales and usage-based taxes are excluded from revenues.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height: 12.3pt;"&gt;&lt;br style="line-height: 12.3pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;Three Months Ended&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;March 31, 2019&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;United States&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;International&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Total&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: top;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;(In thousands)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Restaurant solutions&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;832&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;96&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;928&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;POS Automation and Banking&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;1,259&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;18&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;1,277&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Casino and Gaming&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;3,424&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2,059&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;5,483&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Lottery&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;697&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#8211;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;697&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Printrex&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;297&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;45&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;342&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;TransAct Services Group&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2,498&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;325&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2,823&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 16.2pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Total net sales&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;9,007&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2,543&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;11,550&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 12.3pt;"&gt;&lt;br style="line-height: 12.3pt;" /&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
  <!--Deferred rent, net of current portion-->
  <us-gaap:DeferredRentCredit contextRef="c20190331" unitRef="U002" decimals="-3">0</us-gaap:DeferredRentCredit>
  <!--Deferred rent, net of current portion-->
  <us-gaap:DeferredRentCredit contextRef="c20181231" unitRef="U002" decimals="-3">250000</us-gaap:DeferredRentCredit>
  <!--Deferred income taxes-->
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c20180101to20180331" unitRef="U002" decimals="-3">12000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <!--Deferred income taxes-->
  <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="c20190101to20190331" unitRef="U002" decimals="-3">-35000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <!--Deferred Tax Assets, Net of Valuation Allowance, Noncurrent-->
  <us-gaap:DeferredTaxAssetsNetNoncurrent contextRef="c20181231" unitRef="U002" decimals="-3">2198000</us-gaap:DeferredTaxAssetsNetNoncurrent>
  <!--Deferred Tax Assets, Net of Valuation Allowance, Noncurrent-->
  <us-gaap:DeferredTaxAssetsNetNoncurrent contextRef="c20190331" unitRef="U002" decimals="-3">2239000</us-gaap:DeferredTaxAssetsNetNoncurrent>
  <!--Depreciation and amortization-->
  <us-gaap:DepreciationAndAmortization contextRef="c20180101to20180331" unitRef="U002" decimals="-3">221000</us-gaap:DepreciationAndAmortization>
  <!--Depreciation and amortization-->
  <us-gaap:DepreciationAndAmortization contextRef="c20190101to20190331" unitRef="U002" decimals="-3">252000</us-gaap:DepreciationAndAmortization>
  <!--Dividends Payable, Date to be Paid-->
  <us-gaap:DividendPayableDateToBePaidDayMonthAndYear contextRef="c20190101to20190331">2019-03-15</us-gaap:DividendPayableDateToBePaidDayMonthAndYear>
  <!--Dividends Payable, Date of Record-->
  <us-gaap:DividendsPayableDateOfRecordDayMonthAndYear contextRef="c20190101to20190331">2019-02-20</us-gaap:DividendsPayableDateOfRecordDayMonthAndYear>
  <!--Dividends, Common Stock, Cash-Retained Earnings [Member]-->
  <us-gaap:DividendsCommonStockCash contextRef="c20180101to20180331_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3">673000</us-gaap:DividendsCommonStockCash>
  <!--Dividends, Common Stock, Cash-Retained Earnings [Member]-->
  <us-gaap:DividendsCommonStockCash contextRef="c20190101to20190331_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3">668000</us-gaap:DividendsCommonStockCash>
  <!--Earnings per share-->
  <us-gaap:EarningsPerShareTextBlock contextRef="c20190101to20190331">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 9pt;"&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;5. Earnings per share&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&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;The following table sets forth the reconciliation of basic weighted average shares outstanding and diluted weighted average shares outstanding:&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 12.3pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;Three Months Ended&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;March 31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt; 2019&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;2018&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;(In thousands, except per share data)&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Net income&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;746&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;680&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Shares:&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Basic:&amp;#160;&amp;#160;Weighted average common shares outstanding&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;7,461&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;7,533&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -27pt; margin-left: 27pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Add:&amp;#160;&amp;#160;Dilutive effect of outstanding options and restricted stock units as determined by the&amp;#160;treasury stock method&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;158&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;368&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -27pt; margin-left: 27pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Diluted:&amp;#160;&amp;#160;Weighted average common and common equivalent shares outstanding&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;7,619&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;7,901&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Net income per common share:&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Basic&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;0.10&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;0.09&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Diluted&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;0.10&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;0.09&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&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;The computation of diluted earnings per share excludes the effect of the potential exercise of stock awards, including stock options and restricted stock units, when the average market price of the common stock is lower than the exercise price of the related stock award during the period.&amp;#160;&amp;#160;These outstanding stock awards are not included in the computation of diluted earnings per share because the effect would be anti-dilutive.&amp;#160;&amp;#160;For the three months ended March 31, 2019 and 2018, there were 540 thousand and 147 thousand, respectively, of potentially dilutive shares consisting of stock awards that were excluded from the calculation of earnings per diluted share.&amp;#160;&amp;#160;&lt;/div&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
  <!--Basic (in dollars per share)-->
  <us-gaap:EarningsPerShareBasic contextRef="c20180101to20180331" unitRef="U003" decimals="2">0.09</us-gaap:EarningsPerShareBasic>
  <!--Basic (in dollars per share)-->
  <us-gaap:EarningsPerShareBasic contextRef="c20190101to20190331" unitRef="U003" decimals="2">0.10</us-gaap:EarningsPerShareBasic>
  <!--Earnings Per Share, Diluted-->
  <us-gaap:EarningsPerShareDiluted contextRef="c20180101to20180331" unitRef="U003" decimals="2">0.09</us-gaap:EarningsPerShareDiluted>
  <!--Earnings Per Share, Diluted-->
  <us-gaap:EarningsPerShareDiluted contextRef="c20190101to20190331" unitRef="U003" decimals="2">0.10</us-gaap:EarningsPerShareDiluted>
  <!--Effect of exchange rate changes on cash and cash equivalents-->
  <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c20190101to20190331" unitRef="U002" decimals="-3">-24000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
  <!--Effect of exchange rate changes on cash and cash equivalents-->
  <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c20180101to20180331" unitRef="U002" decimals="-3">-6000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
  <!--Effective tax rate-->
  <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c20180101to20180331" unitRef="U004" decimals="3">0.207</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
  <!--Effective tax rate-->
  <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c20190101to20190331" unitRef="U004" decimals="3">0.134</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
  <!--Excess Tax Benefit from Share-based Compensation, Financing Activities-->
  <us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities contextRef="c20190101to20190331" unitRef="U002" decimals="-3">-199000</us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities>
  <!--Excess Tax Benefit from Share-based Compensation, Financing Activities-->
  <us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities contextRef="c20180101to20180331" unitRef="U002" decimals="-3">-246000</us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities>
  <!--Extended Product Warranty Accrual, Increase for Warranties Issued-->
  <us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued contextRef="c20180101to20180331" unitRef="U002" decimals="-3">80000</us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued>
  <!--Extended Product Warranty Accrual, Increase for Warranties Issued-->
  <us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued contextRef="c20190101to20190331" unitRef="U002" decimals="-3">40000</us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued>
  <!--Extended Product Warranty Accrual, Noncurrent-->
  <us-gaap:ExtendedProductWarrantyAccrualNoncurrent contextRef="c20190331" unitRef="U002" decimals="-3">54000</us-gaap:ExtendedProductWarrantyAccrualNoncurrent>
  <!--Extended Product Warranty Accrual-->
  <us-gaap:ExtendedProductWarrantyAccrual contextRef="c20171231" unitRef="U002" decimals="-3">267000</us-gaap:ExtendedProductWarrantyAccrual>
  <!--Extended Product Warranty Accrual-->
  <us-gaap:ExtendedProductWarrantyAccrual contextRef="c20181231" unitRef="U002" decimals="-3">273000</us-gaap:ExtendedProductWarrantyAccrual>
  <!--Extended Product Warranty Accrual-->
  <us-gaap:ExtendedProductWarrantyAccrual contextRef="c20180331" unitRef="U002" decimals="-3">278000</us-gaap:ExtendedProductWarrantyAccrual>
  <!--Extended Product Warranty Accrual-->
  <us-gaap:ExtendedProductWarrantyAccrual contextRef="c20190331" unitRef="U002" decimals="-3">253000</us-gaap:ExtendedProductWarrantyAccrual>
  <!--Extended Product Warranty Accrual, Decrease for Payments-->
  <us-gaap:ExtendedProductWarrantyAccrualPayments contextRef="c20180101to20180331" unitRef="U002" decimals="-3">69000</us-gaap:ExtendedProductWarrantyAccrualPayments>
  <!--Extended Product Warranty Accrual, Decrease for Payments-->
  <us-gaap:ExtendedProductWarrantyAccrualPayments contextRef="c20190101to20190331" unitRef="U002" decimals="-3">60000</us-gaap:ExtendedProductWarrantyAccrualPayments>
  <!--Accrued product warranty liability, current-->
  <us-gaap:ExtendedProductWarrantyAccrualCurrent contextRef="c20190331" unitRef="U002" decimals="-3">199000</us-gaap:ExtendedProductWarrantyAccrualCurrent>
  <!--Finite-Lived Intangible Assets, Accumulated Amortization-->
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c20181231" unitRef="U002" decimals="-3">3487000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <!--Finite-Lived Intangible Assets, Accumulated Amortization-->
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c20190331" unitRef="U002" decimals="-3">3542000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <!--Foreign Currency Transaction Gain (Loss), before Tax-->
  <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax contextRef="c20190101to20190331" unitRef="U002" decimals="-3">66000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
  <!--Foreign Currency Transaction Gain (Loss), before Tax-->
  <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax contextRef="c20180101to20180331" unitRef="U002" decimals="-3">9000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
  <!--Foreign Currency Transactions and Translations Policy [Policy Text Block]-->
  <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock contextRef="c20190101to20190331">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 9pt;"&gt;&lt;div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The financial position and results of operations of our U.K. subsidiary are measured using local currency as the functional currency.&amp;#160;&amp;#160;Assets and liabilities of such subsidiary have been translated at the end of period exchange rates, and related revenues and expenses have been translated at the exchange rate as of the date the transaction was recognized, with the resulting translation gain or loss recorded in &amp;#8220;Accumulated other comprehensive loss, net of tax&amp;#8221;, in the Condensed Consolidated Balance Sheets and Condensed Consolidated Statements of Changes in Shareholders&amp;#8217; Equity.&amp;#160;&amp;#160;Transaction gains and losses are included in &amp;#8220;Other, net&amp;#8221; in the Condensed Consolidated Statements of Income.&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
  <!--General and administrative-->
  <us-gaap:GeneralAndAdministrativeExpense contextRef="c20180101to20180331" unitRef="U002" decimals="-3">2212000</us-gaap:GeneralAndAdministrativeExpense>
  <!--General and administrative-->
  <us-gaap:GeneralAndAdministrativeExpense contextRef="c20190101to20190331" unitRef="U002" decimals="-3">2290000</us-gaap:GeneralAndAdministrativeExpense>
  <!--Goodwill-->
  <us-gaap:Goodwill contextRef="c20181231" unitRef="U002" decimals="-3">2621000</us-gaap:Goodwill>
  <!--Goodwill-->
  <us-gaap:Goodwill contextRef="c20190331" unitRef="U002" decimals="-3">2621000</us-gaap:Goodwill>
  <!--Gross Profit-->
  <us-gaap:GrossProfit contextRef="c20180101to20180331" unitRef="U002" decimals="-3">5862000</us-gaap:GrossProfit>
  <!--Gross Profit-->
  <us-gaap:GrossProfit contextRef="c20190101to20190331" unitRef="U002" decimals="-3">6086000</us-gaap:GrossProfit>
  <!--Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest-->
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="c20190101to20190331" unitRef="U002" decimals="-3">861000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <!--Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest-->
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="c20180101to20180331" unitRef="U002" decimals="-3">858000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <!--Income tax provision-->
  <us-gaap:IncomeTaxExpenseBenefit contextRef="c20190101to20190331" unitRef="U002" decimals="-3">115000</us-gaap:IncomeTaxExpenseBenefit>
  <!--Income tax provision-->
  <us-gaap:IncomeTaxExpenseBenefit contextRef="c20180101to20180331" unitRef="U002" decimals="-3">178000</us-gaap:IncomeTaxExpenseBenefit>
  <!--Income taxes-->
  <us-gaap:IncomeTaxDisclosureTextBlock contextRef="c20190101to20190331">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 9pt;"&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;8. Income taxes&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;We recorded an income tax provision for the first quarter of 2019 of $115 thousand at an effective tax rate of 13.4%, compared to an income tax provision during the first quarter of 2018 of $178 thousand at an effective tax rate of 20.7%.&amp;#160; The effective tax rate for the first quarter of 2019 was lower as it included the foreign-derived intangible income (&amp;#8220;FDII&amp;#8221;) deduction under the Tax Cuts and Jobs Act (the &amp;#8220;Tax Reform Act&amp;#8221;).&amp;#160; The FDII deduction was not included in the effective tax rate for the first quarter of 2018 as the interpretive guidance for the deduction was not yet released.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;We are subject to U.S. federal income tax, as well as income tax in certain U.S. state and foreign jurisdictions.&amp;#160;&amp;#160;We have substantially concluded all U.S. federal, state and local income tax, and foreign tax regulatory examination matters through 2014.&amp;#160;&amp;#160;However, our federal tax returns for the years 2015 through 2017 remain open to examination. Various U.S. state and foreign tax jurisdiction tax years remain open to examination as well, but we believe that any additional assessment would be immaterial to the Condensed Consolidated Financial Statements.&amp;#160;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;As of March 31, 2019, we had $105 thousand of total gross unrecognized tax benefits that, if recognized, would favorably affect the effective income tax rate in any future periods.&amp;#160;&amp;#160;We expect that $25 thousand of the $105 thousand of unrecognized tax benefits will reverse in 2019 upon the expiration of the statute of limitations.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;We recognize interest and penalties related to uncertain tax positions in the income tax provision reported as "Deferred tax assets" in the Condensed Consolidated Balance Sheet.&amp;#160; As of March 31, 2019, we had $20 thousand of accrued interest and penalties related to uncertain tax positions.&amp;#160; &lt;/font&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;The Company&amp;#160;&lt;/font&gt;&lt;font style="background-color: #FFFFFF; font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;maintains a valuation allowance against certain deferred tax assets where realization is not certain.&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;In February 2018, the FASB issued ASU 2018-02, &lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;&amp;#8220;Income Statement-Reporting Comprehensive Income (Topic 220): Reclassification of Certain Tax Effects from Accumulated Other Comprehensive income,&amp;#8221;&lt;/font&gt; which provides a new standard that permits entities to make a one-time reclassification from accumulated other comprehensive loss (&amp;#8220;AOCL&amp;#8221;) to retained earnings for the stranded tax effects resulting from the newly enacted corporate tax rates under the Tax Reform Act. We adopted ASU 2018-02 on January 1, 2019 and elected not to reclassify the income tax effects of the Tax Reform Act from AOCL to retained earnings.&amp;#160; We continue to release disproportionate income tax effects from AOCL based on the aggregate portfolio approach.&amp;#160; The adoption of ASU 2018-02 did not have an impact on our Condensed Consolidated Financial Statements.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
  <!--Accrued liabilities and other liabilities-->
  <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities contextRef="c20190101to20190331" unitRef="U002" decimals="-3">-1045000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
  <!--Accrued liabilities and other liabilities-->
  <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities contextRef="c20180101to20180331" unitRef="U002" decimals="-3">-872000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
  <!--Increase (Decrease) in Prepaid Taxes-->
  <us-gaap:IncreaseDecreaseInPrepaidTaxes contextRef="c20180101to20180331" unitRef="U002" decimals="-3">-161000</us-gaap:IncreaseDecreaseInPrepaidTaxes>
  <!--Increase (Decrease) in Prepaid Taxes-->
  <us-gaap:IncreaseDecreaseInPrepaidTaxes contextRef="c20190101to20190331" unitRef="U002" decimals="-3">-147000</us-gaap:IncreaseDecreaseInPrepaidTaxes>
  <!--Increase (Decrease) in Accounts Payable-->
  <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="c20190101to20190331" unitRef="U002" decimals="-3">-1254000</us-gaap:IncreaseDecreaseInAccountsPayable>
  <!--Increase (Decrease) in Accounts Payable-->
  <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="c20180101to20180331" unitRef="U002" decimals="-3">-740000</us-gaap:IncreaseDecreaseInAccountsPayable>
  <!--Increase (Decrease) in Inventories-->
  <us-gaap:IncreaseDecreaseInInventories contextRef="c20190101to20190331" unitRef="U002" decimals="-3">1484000</us-gaap:IncreaseDecreaseInInventories>
  <!--Increase (Decrease) in Inventories-->
  <us-gaap:IncreaseDecreaseInInventories contextRef="c20180101to20180331" unitRef="U002" decimals="-3">2000</us-gaap:IncreaseDecreaseInInventories>
  <!--Increase (Decrease) in Receivables-->
  <us-gaap:IncreaseDecreaseInReceivables contextRef="c20190101to20190331" unitRef="U002" decimals="-3">-1210000</us-gaap:IncreaseDecreaseInReceivables>
  <!--Increase (Decrease) in Receivables-->
  <us-gaap:IncreaseDecreaseInReceivables contextRef="c20180101to20180331" unitRef="U002" decimals="-3">-2297000</us-gaap:IncreaseDecreaseInReceivables>
  <!--Increase (Decrease) in Other Operating Assets-->
  <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="c20180101to20180331" unitRef="U002" decimals="-3">46000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
  <!--Increase (Decrease) in Other Operating Assets-->
  <us-gaap:IncreaseDecreaseInOtherOperatingAssets contextRef="c20190101to20190331" unitRef="U002" decimals="-3">437000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
  <!--Add: Dilutive effect of outstanding options and restricted stock units as determined by the treasury stock method (in shares)-->
  <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="c20180101to20180331" unitRef="U001" decimals="-3">368000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
  <!--Add: Dilutive effect of outstanding options and restricted stock units as determined by the treasury stock method (in shares)-->
  <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements contextRef="c20190101to20190331" unitRef="U001" decimals="-3">158000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
  <!--Intangible assets, net of accumulated amortization of $3,542, and $3,487, respectively-->
  <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="c20190331" unitRef="U002" decimals="-3">746000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
  <!--Intangible assets, net of accumulated amortization of $3,542, and $3,487, respectively-->
  <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="c20181231" unitRef="U002" decimals="-3">797000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
  <!--Interest, net-->
  <us-gaap:InterestIncomeExpenseNet contextRef="c20180101to20180331" unitRef="U002" decimals="-3">-8000</us-gaap:InterestIncomeExpenseNet>
  <!--Interest, net-->
  <us-gaap:InterestIncomeExpenseNet contextRef="c20190101to20190331" unitRef="U002" decimals="-3">-6000</us-gaap:InterestIncomeExpenseNet>
  <!--Inventory Disclosure [Text Block]-->
  <us-gaap:InventoryDisclosureTextBlock contextRef="c20190101to20190331">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 9pt;"&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;3. Inventories, net&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&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;The components of inventories, net were:&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 12.3pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;March 31,&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;2019&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;December 31,&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;(In thousands)&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Raw materials and purchased component parts&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;7,386&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;6,593&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Work-in-process&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;140&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;29&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Finished goods&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;6,861&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;6,213&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;14,387&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;12,835&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
  <!--Finished goods-->
  <us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="c20181231" unitRef="U002" decimals="-3">6213000</us-gaap:InventoryFinishedGoodsNetOfReserves>
  <!--Finished goods-->
  <us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="c20190331" unitRef="U002" decimals="-3">6861000</us-gaap:InventoryFinishedGoodsNetOfReserves>
  <!--Inventories, net-->
  <us-gaap:InventoryNet contextRef="c20190331" unitRef="U002" decimals="-3">14387000</us-gaap:InventoryNet>
  <!--Inventories, net-->
  <us-gaap:InventoryNet contextRef="c20181231" unitRef="U002" decimals="-3">12835000</us-gaap:InventoryNet>
  <!--Raw materials and purchased component parts-->
  <us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves contextRef="c20181231" unitRef="U002" decimals="-3">6593000</us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves>
  <!--Raw materials and purchased component parts-->
  <us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves contextRef="c20190331" unitRef="U002" decimals="-3">7386000</us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves>
  <!--Work-in-process-->
  <us-gaap:InventoryWorkInProcessNetOfReserves contextRef="c20190331" unitRef="U002" decimals="-3">140000</us-gaap:InventoryWorkInProcessNetOfReserves>
  <!--Work-in-process-->
  <us-gaap:InventoryWorkInProcessNetOfReserves contextRef="c20181231" unitRef="U002" decimals="-3">29000</us-gaap:InventoryWorkInProcessNetOfReserves>
  <!--2022-->
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour contextRef="c20190331" unitRef="U002" decimals="-3">432000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
  <!--Lessee, Operating Leases [Text Block]-->
  <us-gaap:LesseeOperatingLeasesTextBlock contextRef="c20190101to20190331">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 9pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;7. Leases&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;ASU 2016-02,&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt; &amp;#8220;Leases&amp;#8221;&lt;/font&gt;, which was codified in, and is referred to in this Report as, ASC 842, became effective for reporting periods beginning after December 15, 2018. The adoption requires a modified retrospective transition approach, applying the new standard to all leases existing at the date of initial application. An entity may choose to use either (1) its effective date or (2) the beginning of the earliest comparative period presented in the financial statements as its date of initial application. The Company has elected to adopt the standard using the effective date, January 1, 2019, as its date of initial application. Consequently, financial information will not be updated, and the disclosures required under the new standard will not be provided for dates and periods before January 1, 2019.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;The new standard 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 will determine whether lease expense is recognized based on an effective interest method or on a straight-line basis over the term of the lease, respectively. 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. Leases with a term of 12 months or less will be accounted for similar to existing guidance for operating leases today. 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;/font&gt;&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;We have elected certain of the practical expedients available under ASC 842 upon adoption. We have applied the practical expedient which allows prospective transition to ASC 842 on January 1, 2019. Under this transition practical expedient, we did not reassess lease classification, embedded leases or initial direct costs. 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.&amp;#160; The adoption of ASC 842 had no effect on our Consolidated Statement of Income or Consolidated Statement of Cash Flows. Upon adoption of ASC 842, we recorded a $3.7 million right-of-use asset and a $3.9 million lease liability. The adoption of the new standard had no impact on retained earnings.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;We enter into lease agreements for the use of real estate space and certain other&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;&amp;#160;&lt;/font&gt;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 Right of use assets and Lease liabilities in our Condensed Consolidated Balance Sheet.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&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. 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.&amp;#160; Our lease right of use assets exclude lease incentives. Our leases have remaining lease terms of one to eight years, some of which include options to extend. The majority of our leases with options to extend provide for extensions of up to five years with the ability to terminate the lease within one year. 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;/font&gt;&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Operating lease expense for the quarter ended March 31, 2019 was $237 thousand.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&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;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: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Three Months Ended&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;March 31, 2019&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Operating cash flows from leases&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;(257&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&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;The following summarizes additional information related to our leases:&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; border-collapse: collapse;"&gt;&lt;tr&gt;&lt;td style="width: 77.46%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td style="width: 1.67%; vertical-align: bottom; background-color: #FFFFFF; border-bottom: #000000 2px solid;"&gt;&amp;#160;&lt;/td&gt;&lt;td style="width: 20.88%; vertical-align: bottom; background-color: #FFFFFF; border-bottom: #000000 2px solid;"&gt;&lt;div style="background-color: #FFFFFF; line-height: 14.4pt;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Three Months Ended&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;March 31, 2019&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width: 77.46%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="background-color: #FFFFFF; line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Weighted average remaining lease term (in years)&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="width: 1.67%; vertical-align: bottom; background-color: #FFFFFF; border-top: #000000 2px solid;"&gt;&amp;#160;&lt;/td&gt;&lt;td style="width: 20.88%; vertical-align: bottom; background-color: #FFFFFF; border-top: #000000 2px solid;"&gt;&lt;div style="background-color: #FFFFFF; line-height: 14.4pt;"&gt;&lt;div style="text-align: right; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;5.4&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width: 77.46%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="background-color: #FFFFFF; line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Weighted average discount rate&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="width: 1.67%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td style="width: 20.88%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="background-color: #FFFFFF; line-height: 14.4pt;"&gt;&lt;div style="text-align: right; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;3.7%&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&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;The maturity of the Company&amp;#8217;s operating lease liabilities as of March 31, 2019 are as follows (in thousands):&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2019&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;773&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: justify; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2020&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;1,032&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2021&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;701&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2022&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;432&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2023&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;268&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: justify; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Thereafter&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;888&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 13.45pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Total undiscounted lease payments&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;4,094&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Less imputed interest&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;377&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 13.45pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Total lease liabilities&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;3,717&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&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;Prior to the adoption of ASC 842, rental commitments on an undiscounted basis were approximately $4.3 million at December 31, 2018 under non-cancelable operating leases and were payable as follows: $1.0 million in 2019; $1.0 million in 2020; $0.7 million in 2021; $0.4 million in 2022, $0.3 million in 2023 and $0.9 million&amp;#160; thereafter.&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
  <!--Lessee, Operating Lease, Liability, Maturity [Table Text Block]-->
  <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="c20190101to20190331">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 9pt;"&gt;&lt;div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The maturity of the Company&amp;#8217;s operating lease liabilities as of March 31, 2019 are as follows (in thousands):&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2019&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;773&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: justify; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2020&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;1,032&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2021&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;701&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2022&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;432&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2023&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;268&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: justify; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Thereafter&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;888&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 13.45pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Total undiscounted lease payments&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;4,094&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Less imputed interest&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;377&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 13.45pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Total lease liabilities&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;3,717&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
  <!--2020-->
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo contextRef="c20190331" unitRef="U002" decimals="-3">1032000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
  <!--Less imputed interest-->
  <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount contextRef="c20190331" unitRef="U002" decimals="-3">377000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
  <!--2023-->
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive contextRef="c20190331" unitRef="U002" decimals="-3">268000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
  <!--Lessee, Operating Lease, Liability, Payments, Due-->
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue contextRef="c20190331" unitRef="U002" decimals="-3">4094000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
  <!--2019-->
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear contextRef="c20190331" unitRef="U002" decimals="-3">773000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
  <!--2021-->
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree contextRef="c20190331" unitRef="U002" decimals="-3">701000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
  <!--Thereafter-->
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive contextRef="c20190331" unitRef="U002" decimals="-3">888000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
  <!--Liabilities-->
  <us-gaap:Liabilities contextRef="c20190331" unitRef="U002" decimals="-3">8846000</us-gaap:Liabilities>
  <!--Liabilities-->
  <us-gaap:Liabilities contextRef="c20181231" unitRef="U002" decimals="-3">7389000</us-gaap:Liabilities>
  <!--Liabilities and Equity-->
  <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c20190331" unitRef="U002" decimals="-3">36474000</us-gaap:LiabilitiesAndStockholdersEquity>
  <!--Liabilities and Equity-->
  <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c20181231" unitRef="U002" decimals="-3">34956000</us-gaap:LiabilitiesAndStockholdersEquity>
  <!--Liabilities, Noncurrent-->
  <us-gaap:LiabilitiesNoncurrent contextRef="c20181231" unitRef="U002" decimals="-3">757000</us-gaap:LiabilitiesNoncurrent>
  <!--Liabilities, Noncurrent-->
  <us-gaap:LiabilitiesNoncurrent contextRef="c20190331" unitRef="U002" decimals="-3">3266000</us-gaap:LiabilitiesNoncurrent>
  <!--Liabilities, Current-->
  <us-gaap:LiabilitiesCurrent contextRef="c20190331" unitRef="U002" decimals="-3">5580000</us-gaap:LiabilitiesCurrent>
  <!--Liabilities, Current-->
  <us-gaap:LiabilitiesCurrent contextRef="c20181231" unitRef="U002" decimals="-3">6632000</us-gaap:LiabilitiesCurrent>
  <!--Net Cash Provided by (Used in) Financing Activities-->
  <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c20180101to20180331" unitRef="U002" decimals="-3">-2387000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
  <!--Net Cash Provided by (Used in) Financing Activities-->
  <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c20190101to20190331" unitRef="U002" decimals="-3">-867000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
  <!--Net Cash Provided by (Used in) Investing Activities-->
  <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c20180101to20180331" unitRef="U002" decimals="-3">-308000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
  <!--Net Cash Provided by (Used in) Investing Activities-->
  <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c20190101to20190331" unitRef="U002" decimals="-3">-302000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
  <!--Net Cash Provided by (Used in) Operating Activities-->
  <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c20180101to20180331" unitRef="U002" decimals="-3">1863000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
  <!--Net Cash Provided by (Used in) Operating Activities-->
  <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c20190101to20190331" unitRef="U002" decimals="-3">-1554000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
  <!--Net Income (Loss) Attributable to Parent-->
  <us-gaap:NetIncomeLoss contextRef="c20190101to20190331" unitRef="U002" decimals="-3">746000</us-gaap:NetIncomeLoss>
  <!--Net Income (Loss) Attributable to Parent-->
  <us-gaap:NetIncomeLoss contextRef="c20180101to20180331" unitRef="U002" decimals="-3">680000</us-gaap:NetIncomeLoss>
  <!--Net Income (Loss) Attributable to Parent-Retained Earnings [Member]-->
  <us-gaap:NetIncomeLoss contextRef="c20190101to20190331_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3">746000</us-gaap:NetIncomeLoss>
  <!--Net Income (Loss) Attributable to Parent-Retained Earnings [Member]-->
  <us-gaap:NetIncomeLoss contextRef="c20180101to20180331_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3">680000</us-gaap:NetIncomeLoss>
  <!--Nonoperating Income (Expense)-->
  <us-gaap:NonoperatingIncomeExpense contextRef="c20190101to20190331" unitRef="U002" decimals="-3">84000</us-gaap:NonoperatingIncomeExpense>
  <!--Nonoperating Income (Expense)-->
  <us-gaap:NonoperatingIncomeExpense contextRef="c20180101to20180331" unitRef="U002" decimals="-3">2000</us-gaap:NonoperatingIncomeExpense>
  <!--Operating Leases, Future Minimum Payments Due, Next Twelve Months-->
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent contextRef="c20181231" unitRef="U002" decimals="-5">1000000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent>
  <!--Operating Leases, Future Minimum Payments Due-->
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDue contextRef="c20181231" unitRef="U002" decimals="-5">4300000</us-gaap:OperatingLeasesFutureMinimumPaymentsDue>
  <!--Operating Lease, Weighted Average Discount Rate, Percent-->
  <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent contextRef="c20190331" unitRef="U004" decimals="3">0.037</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
  <!--Operating Lease, Liability-->
  <us-gaap:OperatingLeaseLiability contextRef="c20190331" unitRef="U002" decimals="-3">3717000</us-gaap:OperatingLeaseLiability>
  <!--Operating Lease, Right-of-Use Asset-->
  <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c20181231" unitRef="U002" decimals="-3">0</us-gaap:OperatingLeaseRightOfUseAsset>
  <!--Operating Lease, Right-of-Use Asset-->
  <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c20190331" unitRef="U002" decimals="-3">3479000</us-gaap:OperatingLeaseRightOfUseAsset>
  <!--Operating Lease, Right-of-Use Asset-Accounting Standards Update 2016-02 [Member]-->
  <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c20181231_AdjustmentsForNewAccountingPronouncementsAxis_AccountingStandardsUpdate201602Member" unitRef="U002" decimals="-5">3700000</us-gaap:OperatingLeaseRightOfUseAsset>
  <!--Operating Lease, Expense-->
  <us-gaap:OperatingLeaseExpense contextRef="c20190101to20190331" unitRef="U002" decimals="-3">237000</us-gaap:OperatingLeaseExpense>
  <!--Operating Lease, Payments-->
  <us-gaap:OperatingLeasePayments contextRef="c20190101to20190331" unitRef="U002" decimals="-3">257000</us-gaap:OperatingLeasePayments>
  <!--Operating Lease, Liability, Current-->
  <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c20190331" unitRef="U002" decimals="-3">909000</us-gaap:OperatingLeaseLiabilityCurrent>
  <!--Operating Lease, Liability, Current-->
  <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c20181231" unitRef="U002" decimals="-3">0</us-gaap:OperatingLeaseLiabilityCurrent>
  <!--Operating Income (Loss)-->
  <us-gaap:OperatingIncomeLoss contextRef="c20180101to20180331" unitRef="U002" decimals="-3">856000</us-gaap:OperatingIncomeLoss>
  <!--Operating Income (Loss)-->
  <us-gaap:OperatingIncomeLoss contextRef="c20190101to20190331" unitRef="U002" decimals="-3">777000</us-gaap:OperatingIncomeLoss>
  <!--Operating Expenses-->
  <us-gaap:OperatingExpenses contextRef="c20180101to20180331" unitRef="U002" decimals="-3">5006000</us-gaap:OperatingExpenses>
  <!--Operating Expenses-->
  <us-gaap:OperatingExpenses contextRef="c20190101to20190331" unitRef="U002" decimals="-3">5309000</us-gaap:OperatingExpenses>
  <!--Operating Lease, Weighted Average Remaining Lease Term-->
  <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="c20190331">P5Y4M24D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
  <!--Operating Lease, Liability, Noncurrent-->
  <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c20181231" unitRef="U002" decimals="-3">0</us-gaap:OperatingLeaseLiabilityNoncurrent>
  <!--Operating Lease, Liability, Noncurrent-->
  <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c20190331" unitRef="U002" decimals="-3">2808000</us-gaap:OperatingLeaseLiabilityNoncurrent>
  <!--Operating Lease, Liability, Noncurrent-Accounting Standards Update 2016-02 [Member]-->
  <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c20181231_AdjustmentsForNewAccountingPronouncementsAxis_AccountingStandardsUpdate201602Member" unitRef="U002" decimals="-5">3900000</us-gaap:OperatingLeaseLiabilityNoncurrent>
  <!--Operating Leases, Future Minimum Payments, Due in Four Years-->
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears contextRef="c20181231" unitRef="U002" decimals="-5">400000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears>
  <!--Operating Leases, Future Minimum Payments, Due Thereafter-->
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueThereafter contextRef="c20181231" unitRef="U002" decimals="-5">900000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueThereafter>
  <!--Operating Leases, Future Minimum Payments, Due in Three Years-->
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears contextRef="c20181231" unitRef="U002" decimals="-5">700000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears>
  <!--Operating Leases, Future Minimum Payments, Due in Five Years-->
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears contextRef="c20181231" unitRef="U002" decimals="-5">300000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears>
  <!--Operating Leases, Future Minimum Payments, Due in Two Years-->
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears contextRef="c20181231" unitRef="U002" decimals="-5">1000000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears>
  <!--Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax-->
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c20190101to20190331" unitRef="U002" decimals="-3">9000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <!--Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax-->
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c20180101to20180331" unitRef="U002" decimals="-3">-1000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <!--Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax-AOCI Attributable to Parent [Member]-->
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c20190101to20190331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3">9000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <!--Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax-AOCI Attributable to Parent [Member]-->
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="c20180101to20180331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3">-1000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <!--Other assets-->
  <us-gaap:OtherAssetsNoncurrent contextRef="c20181231" unitRef="U002" decimals="-3">31000</us-gaap:OtherAssetsNoncurrent>
  <!--Other assets-->
  <us-gaap:OtherAssetsNoncurrent contextRef="c20190331" unitRef="U002" decimals="-3">31000</us-gaap:OtherAssetsNoncurrent>
  <!--Other current assets-->
  <us-gaap:OtherAssetsCurrent contextRef="c20190331" unitRef="U002" decimals="-3">1115000</us-gaap:OtherAssetsCurrent>
  <!--Other current assets-->
  <us-gaap:OtherAssetsCurrent contextRef="c20181231" unitRef="U002" decimals="-3">677000</us-gaap:OtherAssetsCurrent>
  <!--Other liabilities-->
  <us-gaap:OtherLiabilitiesNoncurrent contextRef="c20181231" unitRef="U002" decimals="-3">242000</us-gaap:OtherLiabilitiesNoncurrent>
  <!--Other liabilities-->
  <us-gaap:OtherLiabilitiesNoncurrent contextRef="c20190331" unitRef="U002" decimals="-3">218000</us-gaap:OtherLiabilitiesNoncurrent>
  <!--Other, net-->
  <us-gaap:OtherNonoperatingIncomeExpense contextRef="c20180101to20180331" unitRef="U002" decimals="-3">10000</us-gaap:OtherNonoperatingIncomeExpense>
  <!--Other, net-->
  <us-gaap:OtherNonoperatingIncomeExpense contextRef="c20190101to20190331" unitRef="U002" decimals="-3">90000</us-gaap:OtherNonoperatingIncomeExpense>
  <!--Payments for Repurchase of Common Stock-->
  <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c20190101to20190331" unitRef="U002" decimals="-3">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
  <!--Payments for Repurchase of Common Stock-->
  <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c20180101to20180331" unitRef="U002" decimals="-3">1562000</us-gaap:PaymentsForRepurchaseOfCommonStock>
  <!--Payment of dividend on common stock-->
  <us-gaap:PaymentsOfDividendsCommonStock contextRef="c20180101to20180331" unitRef="U002" decimals="-3">673000</us-gaap:PaymentsOfDividendsCommonStock>
  <!--Payment of dividend on common stock-->
  <us-gaap:PaymentsOfDividendsCommonStock contextRef="c20190101to20190331" unitRef="U002" decimals="-3">668000</us-gaap:PaymentsOfDividendsCommonStock>
  <!--Payments to Acquire Property, Plant, and Equipment-->
  <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c20190101to20190331" unitRef="U002" decimals="-3">298000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
  <!--Payments to Acquire Property, Plant, and Equipment-->
  <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c20180101to20180331" unitRef="U002" decimals="-3">298000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
  <!--Payments to Acquire Software-->
  <us-gaap:PaymentsToAcquireSoftware contextRef="c20190101to20190331" unitRef="U002" decimals="-3">4000</us-gaap:PaymentsToAcquireSoftware>
  <!--Payments to Acquire Software-->
  <us-gaap:PaymentsToAcquireSoftware contextRef="c20180101to20180331" unitRef="U002" decimals="-3">10000</us-gaap:PaymentsToAcquireSoftware>
  <!--Prepaid income taxes-->
  <us-gaap:PrepaidTaxes contextRef="c20181231" unitRef="U002" decimals="-3">809000</us-gaap:PrepaidTaxes>
  <!--Prepaid income taxes-->
  <us-gaap:PrepaidTaxes contextRef="c20190331" unitRef="U002" decimals="-3">663000</us-gaap:PrepaidTaxes>
  <!--Proceeds from stock option exercises-->
  <us-gaap:ProceedsFromStockOptionsExercised contextRef="c20180101to20180331" unitRef="U002" decimals="-3">94000</us-gaap:ProceedsFromStockOptionsExercised>
  <!--Proceeds from stock option exercises-->
  <us-gaap:ProceedsFromStockOptionsExercised contextRef="c20190101to20190331" unitRef="U002" decimals="-3">0</us-gaap:ProceedsFromStockOptionsExercised>
  <!--Accrued product warranty liability-->
  <us-gaap:ProductWarrantyDisclosureTextBlock contextRef="c20190101to20190331">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 9pt;"&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;4. Accrued product warranty liability&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;We generally warrant our products for up to&amp;#160;24 months and record the estimated cost of such product warranties at the time the sale is recorded. 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;/font&gt;&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&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;The following table summarizes the activity recorded in the accrued product warranty liability during the three months ended March 31, 2019 and 2018:&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 12.3pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;Three Months Ended&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;March 31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt; 2019&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;2018&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;(In thousands)&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Balance, beginning of period&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;273&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;267&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Warranties issued&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;40&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;80&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Warranty settlements&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;(60&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;(69&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Balance, end of period&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;253&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;278&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&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;As of March 31, 2019, $199 thousand of the accrued product warranty liability were classified as current in "Accrued liabilities" in the Condensed Consolidated Balance Sheets and the remaining $54 thousand was classified as non-current in "Other liabilities".&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ProductWarrantyDisclosureTextBlock>
  <!--Fixed assets, net of accumulated depreciation of $20,660 and $20,518, respectively-->
  <us-gaap:PropertyPlantAndEquipmentNet contextRef="c20190331" unitRef="U002" decimals="-3">2413000</us-gaap:PropertyPlantAndEquipmentNet>
  <!--Fixed assets, net of accumulated depreciation of $20,660 and $20,518, respectively-->
  <us-gaap:PropertyPlantAndEquipmentNet contextRef="c20181231" unitRef="U002" decimals="-3">2272000</us-gaap:PropertyPlantAndEquipmentNet>
  <!--Accounts receivable, net-->
  <us-gaap:ReceivablesNetCurrent contextRef="c20181231" unitRef="U002" decimals="-3">8025000</us-gaap:ReceivablesNetCurrent>
  <!--Accounts receivable, net-->
  <us-gaap:ReceivablesNetCurrent contextRef="c20190331" unitRef="U002" decimals="-3">6836000</us-gaap:ReceivablesNetCurrent>
  <!--Engineering, design and product development-->
  <us-gaap:ResearchAndDevelopmentExpense contextRef="c20180101to20180331" unitRef="U002" decimals="-3">1221000</us-gaap:ResearchAndDevelopmentExpense>
  <!--Engineering, design and product development-->
  <us-gaap:ResearchAndDevelopmentExpense contextRef="c20190101to20190331" unitRef="U002" decimals="-3">1165000</us-gaap:ResearchAndDevelopmentExpense>
  <!--Retained earnings-->
  <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c20190331" unitRef="U002" decimals="-3">27593000</us-gaap:RetainedEarningsAccumulatedDeficit>
  <!--Retained earnings-->
  <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c20181231" unitRef="U002" decimals="-3">27515000</us-gaap:RetainedEarningsAccumulatedDeficit>
  <!--Revenue from Contract with Customer, Excluding Assessed Tax-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c20190101to20190331" unitRef="U002" decimals="-3">11550000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Revenue from Contract with Customer, Excluding Assessed Tax-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c20180101to20180331" unitRef="U002" decimals="-3">12243000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Revenue from Contract with Customer, Excluding Assessed Tax-International [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c20190101to20190331_StatementGeographicalAxis_InternationalMember" unitRef="U002" decimals="-3">2543000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Revenue from Contract with Customer, Excluding Assessed Tax-United States [Member]-TransAct Services Group [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c20190101to20190331_ProductOrServiceAxis_TransActServicesGroupMember_StatementGeographicalAxis_US" unitRef="U002" decimals="-3">2498000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Revenue from Contract with Customer, Excluding Assessed Tax-Printrex [Member]-United States [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c20190101to20190331_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_US" unitRef="U002" decimals="-3">297000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Revenue from Contract with Customer, Excluding Assessed Tax-Lottery [Member]-International [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c20190101to20190331_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_InternationalMember" unitRef="U002" decimals="-3">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Revenue from Contract with Customer, Excluding Assessed Tax-TransAct Services Group [Member]-International [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c20190101to20190331_ProductOrServiceAxis_TransActServicesGroupMember_StatementGeographicalAxis_InternationalMember" unitRef="U002" decimals="-3">325000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Revenue from Contract with Customer, Excluding Assessed Tax-United States [Member]-Restaurant Solutions [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c20190101to20190331_ProductOrServiceAxis_RestaurantSolutionsMember_StatementGeographicalAxis_US" unitRef="U002" decimals="-3">832000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Revenue from Contract with Customer, Excluding Assessed Tax-TransAct Services Group [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c20190101to20190331_ProductOrServiceAxis_TransActServicesGroupMember" unitRef="U002" decimals="-3">2823000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Revenue from Contract with Customer, Excluding Assessed Tax-POS Automation and Banking [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c20190101to20190331_ProductOrServiceAxis_POSAutomationAndBankingMember" unitRef="U002" decimals="-3">1277000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Revenue from Contract with Customer, Excluding Assessed Tax-Restaurant Solutions [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c20190101to20190331_ProductOrServiceAxis_RestaurantSolutionsMember" unitRef="U002" decimals="-3">928000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Revenue from Contract with Customer, Excluding Assessed Tax-POS Automation and Banking [Member]-International [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c20190101to20190331_ProductOrServiceAxis_POSAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember" unitRef="U002" decimals="-3">18000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Revenue from Contract with Customer, Excluding Assessed Tax-United States [Member]-Lottery [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c20190101to20190331_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_US" unitRef="U002" decimals="-3">697000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Revenue from Contract with Customer, Excluding Assessed Tax-Printrex [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c20190101to20190331_ProductOrServiceAxis_PrintrexMember" unitRef="U002" decimals="-3">342000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Revenue from Contract with Customer, Excluding Assessed Tax-United States [Member]-Casino and Gaming [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c20190101to20190331_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US" unitRef="U002" decimals="-3">3424000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Revenue from Contract with Customer, Excluding Assessed Tax-Lottery [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c20190101to20190331_ProductOrServiceAxis_LotteryMember" unitRef="U002" decimals="-3">697000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Revenue from Contract with Customer, Excluding Assessed Tax-United States [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c20190101to20190331_StatementGeographicalAxis_US" unitRef="U002" decimals="-3">9007000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Revenue from Contract with Customer, Excluding Assessed Tax-Printrex [Member]-International [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c20190101to20190331_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_InternationalMember" unitRef="U002" decimals="-3">45000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Revenue from Contract with Customer, Excluding Assessed Tax-Casino and Gaming [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c20190101to20190331_ProductOrServiceAxis_CasinoAndGamingMember" unitRef="U002" decimals="-3">5483000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Revenue from Contract with Customer, Excluding Assessed Tax-Casino and Gaming [Member]-International [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c20190101to20190331_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember" unitRef="U002" decimals="-3">2059000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Revenue from Contract with Customer, Excluding Assessed Tax-POS Automation and Banking [Member]-United States [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c20190101to20190331_ProductOrServiceAxis_POSAutomationAndBankingMember_StatementGeographicalAxis_US" unitRef="U002" decimals="-3">1259000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Revenue from Contract with Customer, Excluding Assessed Tax-International [Member]-Restaurant Solutions [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c20190101to20190331_ProductOrServiceAxis_RestaurantSolutionsMember_StatementGeographicalAxis_InternationalMember" unitRef="U002" decimals="-3">96000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Revenue, Remaining Performance Obligation, Amount-2020-04-01 [Member]-->
  <us-gaap:RevenueRemainingPerformanceObligation contextRef="c20190331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_Two0200401Member" unitRef="U002" decimals="-5">700000</us-gaap:RevenueRemainingPerformanceObligation>
  <!--Revenue, Remaining Performance Obligation, Amount-2019-04-01 [Member]-->
  <us-gaap:RevenueRemainingPerformanceObligation contextRef="c20190331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_Two0190401Member" unitRef="U002" decimals="-5">4300000</us-gaap:RevenueRemainingPerformanceObligation>
  <!--Revenue, Remaining Performance Obligation, Amount-->
  <us-gaap:RevenueRemainingPerformanceObligation contextRef="c20190331" unitRef="U002" decimals="-5">5100000</us-gaap:RevenueRemainingPerformanceObligation>
  <!--Revenue, Remaining Performance Obligation, Amount-2021-04-01 [Member]-->
  <us-gaap:RevenueRemainingPerformanceObligation contextRef="c20190331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_Two0210401Member" unitRef="U002" xsi:nil="true" />
  <!--Revenue from Contract with Customer [Text Block]-->
  <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="c20190101to20190331">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 9pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2. Revenue&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;We account for revenue in accordance with ASC Topic 606: Revenue from Contracts with Customers.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&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;Disaggregation of revenue&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&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.&amp;#160; Sales and usage-based taxes are excluded from revenues.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height: 12.3pt;"&gt;&lt;br style="line-height: 12.3pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;Three Months Ended&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;March 31, 2019&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;United States&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;International&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Total&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: top;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;(In thousands)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Restaurant solutions&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;832&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;96&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;928&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;POS Automation and Banking&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;1,259&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;18&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;1,277&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Casino and Gaming&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;3,424&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2,059&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;5,483&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Lottery&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;697&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#8211;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;697&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Printrex&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;297&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;45&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;342&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;TransAct Services Group&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2,498&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;325&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2,823&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 16.2pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Total net sales&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;9,007&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;2,543&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;11,550&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 12.3pt;"&gt;&lt;br style="line-height: 12.3pt;" /&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;Contract balances&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Our contract liabilities consist of customer pre-payments and deferred revenue.&amp;#160; Customer prepayments are reported as &amp;#8220;Accrued Liabilities&amp;#8221; in current liabilities in the Condensed Consolidated Balance Sheets.&amp;#160; Customer prepayments represent customer payments made in advance of performance obligations in instances where credit has not been extended and are recognized as revenue when the performance obligation is complete.&amp;#160; Deferred revenue is reported separately in current liabilities and non-current liabilities and consists of our extended warranty contracts, technical support for our restaurant solution terminals, EPICENTRAL&amp;#8482; maintenance contracts and testing service contracts, and is recognized as revenue as (or when) we perform under the contract.&amp;#160; We do not have any contract asset balances as of March 31, 2019 or December 31, 2018.&amp;#160; For the first three months of 2019, we recognized revenue of $150 thousand related to our contract liabilities at December 31, 2018.&amp;#160; Total contract liabilities consist of the following:&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;March 31,&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;2019&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;December 31,&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;(In thousands)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Customer pre-payments&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;59&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;50&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Deferred revenue, current&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;402&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;384&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Deferred revenue, non-current&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;240&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;265&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Total contract liabilities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;701&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;699&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&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;Remaining performance obligations&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Remaining performance obligations represent the transaction price of firm orders for which a good or service has not been delivered to our customer.&amp;#160; As of March 31, 2019, the aggregate amount of the transaction price allocated to remaining performance obligations was $5.1 million.&amp;#160; The Company expects to recognize revenue on $4.3 million of its remaining performance obligations within the next 12 months, $0.7 million within the next 24 months and the balance of these remaining performance obligations within the next 36 months.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height: 12.3pt;"&gt;&lt;br style="line-height: 12.3pt;" /&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
  <!--Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period-2021-04-01 [Member]-->
  <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 contextRef="c20190331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_Two0210401Member">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
  <!--Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period-2020-04-01 [Member]-->
  <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 contextRef="c20190331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_Two0200401Member">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
  <!--Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period-2019-04-01 [Member]-->
  <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 contextRef="c20190331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_Two0190401Member">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
  <!--Schedule of Inventory, Current [Table Text Block]-->
  <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="c20190101to20190331">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 9pt;"&gt;&lt;div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of inventories, net were:&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 12.3pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;March 31,&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;2019&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;December 31,&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;(In thousands)&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Raw materials and purchased component parts&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;7,386&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;6,593&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Work-in-process&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;140&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;29&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Finished goods&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;6,861&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;6,213&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;14,387&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;12,835&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
  <!--Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]-->
  <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="c20190101to20190331">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 9pt;"&gt;&lt;div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table sets forth the reconciliation of basic weighted average shares outstanding and diluted weighted average shares outstanding:&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 12.3pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;Three Months Ended&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;March 31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt; 2019&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;2018&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;(In thousands, except per share data)&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Net income&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;746&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;680&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Shares:&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Basic:&amp;#160;&amp;#160;Weighted average common shares outstanding&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;7,461&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;7,533&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -27pt; margin-left: 27pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Add:&amp;#160;&amp;#160;Dilutive effect of outstanding options and restricted stock units as determined by the&amp;#160;treasury stock method&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;158&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;368&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -27pt; margin-left: 27pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Diluted:&amp;#160;&amp;#160;Weighted average common and common equivalent shares outstanding&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;7,619&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;7,901&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Net income per common share:&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Basic&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;0.10&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;0.09&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Diluted&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;0.10&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;0.09&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
  <!--Product warranty liability-->
  <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock contextRef="c20190101to20190331">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 9pt;"&gt;&lt;div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table summarizes the activity recorded in the accrued product warranty liability during the three months ended March 31, 2019 and 2018:&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 12.3pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;Three Months Ended&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;March 31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt; 2019&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;2018&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;(In thousands)&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Balance, beginning of period&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;273&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;267&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Warranties issued&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;40&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;80&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Warranty settlements&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;(60&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;(69&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Balance, end of period&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;253&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;278&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
  <!--Selling and marketing-->
  <us-gaap:SellingAndMarketingExpense contextRef="c20180101to20180331" unitRef="U002" decimals="-3">1573000</us-gaap:SellingAndMarketingExpense>
  <!--Selling and marketing-->
  <us-gaap:SellingAndMarketingExpense contextRef="c20190101to20190331" unitRef="U002" decimals="-3">1854000</us-gaap:SellingAndMarketingExpense>
  <!--Share-based compensation expense-->
  <us-gaap:ShareBasedCompensation contextRef="c20190101to20190331" unitRef="U002" decimals="-3">173000</us-gaap:ShareBasedCompensation>
  <!--Share-based compensation expense-->
  <us-gaap:ShareBasedCompensation contextRef="c20180101to20180331" unitRef="U002" decimals="-3">161000</us-gaap:ShareBasedCompensation>
  <!--Shares Paid for Tax Withholding for Share Based Compensation-->
  <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation contextRef="c20180101to20180331" unitRef="U001" decimals="INF">17219</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
  <!--Shares Paid for Tax Withholding for Share Based Compensation-->
  <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation contextRef="c20190101to20190331" unitRef="U001" decimals="INF">19637</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period-->
  <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="c20180101to20180331" unitRef="U001" decimals="INF">62788</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period-->
  <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="c20190101to20190331" unitRef="U001" decimals="INF">56998</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
  <!--Stock Issued, Value, Stock Options Exercised, Net of Tax Benefit (Expense)-Additional Paid-in Capital [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense contextRef="c20190101to20190331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
  <!--Stock Issued, Value, Stock Options Exercised, Net of Tax Benefit (Expense)-Additional Paid-in Capital [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense contextRef="c20180101to20180331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3">94000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
  <!--Common stock repurchased (in shares)-->
  <us-gaap:StockRepurchasedDuringPeriodShares contextRef="c20190101to20190331" unitRef="U001" decimals="INF">0</us-gaap:StockRepurchasedDuringPeriodShares>
  <!--Common stock repurchased (in shares)-->
  <us-gaap:StockRepurchasedDuringPeriodShares contextRef="c20180101to20180331" unitRef="U001" decimals="INF">122780</us-gaap:StockRepurchasedDuringPeriodShares>
  <!--Shareholders' equity-->
  <us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="c20190101to20190331">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 9pt;"&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;6. Shareholders&amp;#8217; equity&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&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;For the three months ended March 31, 2019, our Board of Directors declared a quarterly cash dividend of $0.09 per share, totaling $668 thousand, which was paid on March 15, 2019 to common shareholders of record at the close of business on February 20, 2019.&amp;#160;&amp;#160;For the three months ended March 31, 2018, dividends declared and paid totaled $673 thousand, or $0.09 per share.&lt;/div&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
  <!--Stockholders' Equity Attributable to Parent-->
  <us-gaap:StockholdersEquity contextRef="c20190331" unitRef="U002" decimals="-3">27628000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-->
  <us-gaap:StockholdersEquity contextRef="c20181231" unitRef="U002" decimals="-3">27567000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-AOCI Attributable to Parent [Member]-->
  <us-gaap:StockholdersEquity contextRef="c20181231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3">-82000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Common Stock [Member]-->
  <us-gaap:StockholdersEquity contextRef="c20171231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3">114000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Retained Earnings [Member]-->
  <us-gaap:StockholdersEquity contextRef="c20171231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3">24756000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Common Stock [Member]-->
  <us-gaap:StockholdersEquity contextRef="c20181231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3">115000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Retained Earnings [Member]-->
  <us-gaap:StockholdersEquity contextRef="c20181231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3">27515000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Treasury Stock [Member]-->
  <us-gaap:StockholdersEquity contextRef="c20181231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U002" decimals="-3">-32110000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Additional Paid-in Capital [Member]-->
  <us-gaap:StockholdersEquity contextRef="c20171231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3">31353000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Treasury Stock [Member]-->
  <us-gaap:StockholdersEquity contextRef="c20171231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U002" decimals="-3">-30110000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Additional Paid-in Capital [Member]-->
  <us-gaap:StockholdersEquity contextRef="c20181231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3">32129000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-->
  <us-gaap:StockholdersEquity contextRef="c20171231" unitRef="U002" decimals="-3">26014000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-AOCI Attributable to Parent [Member]-->
  <us-gaap:StockholdersEquity contextRef="c20171231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3">-99000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Additional Paid-in Capital [Member]-->
  <us-gaap:StockholdersEquity contextRef="c20180331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3">31362000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-AOCI Attributable to Parent [Member]-->
  <us-gaap:StockholdersEquity contextRef="c20190331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3">-73000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Retained Earnings [Member]-->
  <us-gaap:StockholdersEquity contextRef="c20180331_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3">24763000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Treasury Stock [Member]-->
  <us-gaap:StockholdersEquity contextRef="c20190331_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U002" decimals="-3">-32110000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Additional Paid-in Capital [Member]-->
  <us-gaap:StockholdersEquity contextRef="c20190331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3">32103000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-AOCI Attributable to Parent [Member]-->
  <us-gaap:StockholdersEquity contextRef="c20180331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3">-100000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Retained Earnings [Member]-->
  <us-gaap:StockholdersEquity contextRef="c20190331_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3">27593000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Treasury Stock [Member]-->
  <us-gaap:StockholdersEquity contextRef="c20180331_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U002" decimals="-3">-31672000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-->
  <us-gaap:StockholdersEquity contextRef="c20180331" unitRef="U002" decimals="-3">24467000</us-gaap:StockholdersEquity>
  <!--Treasury Stock, Value, Acquired, Cost Method-Treasury Stock [Member]-->
  <us-gaap:TreasuryStockValueAcquiredCostMethod contextRef="c20180101to20180331_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U002" decimals="-3">1562000</us-gaap:TreasuryStockValueAcquiredCostMethod>
  <!--Treasury Stock, Value, Acquired, Cost Method-Treasury Stock [Member]-->
  <us-gaap:TreasuryStockValueAcquiredCostMethod contextRef="c20190101to20190331_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U002" decimals="-3">0</us-gaap:TreasuryStockValueAcquiredCostMethod>
  <!--Treasury Stock, Value-->
  <us-gaap:TreasuryStockValue contextRef="c20190331" unitRef="U002" decimals="-3">32110000</us-gaap:TreasuryStockValue>
  <!--Treasury Stock, Value-->
  <us-gaap:TreasuryStockValue contextRef="c20181231" unitRef="U002" decimals="-3">32110000</us-gaap:TreasuryStockValue>
  <!--Treasury stock (in shares)-->
  <us-gaap:TreasuryStockShares contextRef="c20190331" unitRef="U001" decimals="INF">4044842</us-gaap:TreasuryStockShares>
  <!--Treasury stock (in shares)-->
  <us-gaap:TreasuryStockShares contextRef="c20181231" unitRef="U001" decimals="INF">4044842</us-gaap:TreasuryStockShares>
  <!--Unrecognized Tax Benefits that Would Impact Effective Tax Rate-->
  <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate contextRef="c20190331" unitRef="U002" decimals="-3">105000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
  <!--Unrecognized Tax Benefits, Reduction Resulting from Lapse of Applicable Statute of Limitations-->
  <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations contextRef="c20190101to20190331" unitRef="U002" decimals="-3">25000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
  <!--Accrued interest and penalties related to uncertain tax positions-->
  <us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued contextRef="c20190331" unitRef="U002" decimals="-3">20000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
  <!--Basic (in shares)-->
  <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c20190101to20190331" unitRef="U001" decimals="-3">7461000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
  <!--Basic (in shares)-->
  <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c20180101to20180331" unitRef="U001" decimals="-3">7533000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
  <!--Diluted (in shares)-->
  <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c20180101to20180331" unitRef="U001" decimals="-3">7901000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
  <!--Diluted (in shares)-->
  <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c20190101to20190331" unitRef="U001" decimals="-3">7619000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
  <!--Right of Use Asset-->
  <tact:IncreaseDecreaseinOperatingRightofUseAsset contextRef="c20190101to20190331" unitRef="U002" decimals="-3">-3479000</tact:IncreaseDecreaseinOperatingRightofUseAsset>
  <!--Right of Use Asset-->
  <tact:IncreaseDecreaseinOperatingRightofUseAsset contextRef="c20180101to20180331" unitRef="U002" decimals="-3">0</tact:IncreaseDecreaseinOperatingRightofUseAsset>
  <!--Lease Liabilities-->
  <tact:IncreaseDecreaseinOperatingLeaseLiabilities contextRef="c20190101to20190331" unitRef="U002" decimals="-3">3718000</tact:IncreaseDecreaseinOperatingLeaseLiabilities>
  <!--Lease Liabilities-->
  <tact:IncreaseDecreaseinOperatingLeaseLiabilities contextRef="c20180101to20180331" unitRef="U002" decimals="-3">0</tact:IncreaseDecreaseinOperatingLeaseLiabilities>
  <!--Operating Lease, Right-of-Use Asset, Accumulated Amortization-->
  <tact:OperatingLeaseRightOfUseAssetAccumulatedAmortization contextRef="c20181231" unitRef="U002" decimals="-3">0</tact:OperatingLeaseRightOfUseAssetAccumulatedAmortization>
  <!--Operating Lease, Right-of-Use Asset, Accumulated Amortization-->
  <tact:OperatingLeaseRightOfUseAssetAccumulatedAmortization contextRef="c20190331" unitRef="U002" decimals="-3">211000</tact:OperatingLeaseRightOfUseAssetAccumulatedAmortization>
  <!--Extended Product Warranty Period-Maximum [Member]-->
  <tact:ExtendedProductWarrantyPeriod contextRef="c20190101to20190331_RangeAxis_MaximumMember">P24M</tact:ExtendedProductWarrantyPeriod>
  <!--Contract with Customer, Liability for Customer Prepayments, Current-->
  <tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent contextRef="c20190331" unitRef="U002" decimals="-3">59000</tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent>
  <!--Contract with Customer, Liability for Customer Prepayments, Current-->
  <tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent contextRef="c20181231" unitRef="U002" decimals="-3">50000</tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent>
  <!--Lessee, Operating Lease, Remaining Term of Contract-Minimum [Member]-->
  <tact:LesseeOperatingLeaseRemainingTermOfContract contextRef="c20190101to20190331_RangeAxis_MinimumMember">P1Y</tact:LesseeOperatingLeaseRemainingTermOfContract>
  <!--Lessee, Operating Lease, Remaining Term of Contract-Maximum [Member]-->
  <tact:LesseeOperatingLeaseRemainingTermOfContract contextRef="c20190101to20190331_RangeAxis_MaximumMember">P8Y</tact:LesseeOperatingLeaseRemainingTermOfContract>
  <!--Lessee, Operating Lease, Option to Extend Term-Maximum [Member]-->
  <tact:LesseeOperatingLeaseOptionToExtendTerm contextRef="c20190101to20190331_RangeAxis_MaximumMember">P5Y</tact:LesseeOperatingLeaseOptionToExtendTerm>
  <!--Lessee, Operating Lease, Option to Terminate Term-Maximum [Member]-->
  <tact:LesseeOperatingLeaseOptionToTerminateTerm contextRef="c20190101to20190331_RangeAxis_MaximumMember">P1Y</tact:LesseeOperatingLeaseOptionToTerminateTerm>
  <!--Lessee, Operating Lease, Description [Table Text Block]-->
  <tact:LesseeOperatingLeaseDescriptionTableTextBlock contextRef="c20190101to20190331">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 9pt;"&gt;&lt;div style="text-align: justify; line-height: 11.4pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following summarizes additional information related to our leases:&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; border-collapse: collapse;"&gt;&lt;tr&gt;&lt;td style="width: 77.46%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td style="width: 1.67%; vertical-align: bottom; background-color: #FFFFFF; border-bottom: #000000 2px solid;"&gt;&amp;#160;&lt;/td&gt;&lt;td style="width: 20.88%; vertical-align: bottom; background-color: #FFFFFF; border-bottom: #000000 2px solid;"&gt;&lt;div style="background-color: #FFFFFF; line-height: 14.4pt;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Three Months Ended&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;March 31, 2019&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width: 77.46%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="background-color: #FFFFFF; line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Weighted average remaining lease term (in years)&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="width: 1.67%; vertical-align: bottom; background-color: #FFFFFF; border-top: #000000 2px solid;"&gt;&amp;#160;&lt;/td&gt;&lt;td style="width: 20.88%; vertical-align: bottom; background-color: #FFFFFF; border-top: #000000 2px solid;"&gt;&lt;div style="background-color: #FFFFFF; line-height: 14.4pt;"&gt;&lt;div style="text-align: right; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;5.4&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width: 77.46%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="background-color: #FFFFFF; line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Weighted average discount rate&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="width: 1.67%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td style="width: 20.88%; vertical-align: bottom; background-color: #FFFFFF;"&gt;&lt;div style="background-color: #FFFFFF; line-height: 14.4pt;"&gt;&lt;div style="text-align: right; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;3.7%&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;/div&gt;</tact:LesseeOperatingLeaseDescriptionTableTextBlock>
  <!--Lessee, Operating Lease, Supplemental Disclosure for Cash Flows [Table Text Block]-->
  <tact:LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock contextRef="c20190101to20190331">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 9pt;"&gt;&lt;div style="text-align: justify; line-height: 11.4pt; 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: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Three Months Ended&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: center; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;March 31, 2019&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;Operating cash flows from leases&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;(257&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 11.4pt;"&gt;&lt;br style="line-height: 11.4pt;" /&gt;&lt;/div&gt;&lt;/div&gt;</tact:LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock>
</xbrl>
